Programming and Art I

Course Code
01ΥΠΧ02
ECTS Credits
6
Semester
3rd Semester
Σειρά εμφάνισης
2
Course Category
Specialization
Digital Arts
Professor
Course Description
Image
LEARNING OUTCOMES

🔵 🔴 🟡 Course description

The course aims at three main axes: a. the introduction to the concepts and technologies of programming as a creative act, b. the introduction to the basic principles of digital design and interaction, c. the introduction to the relationship between contemporary art and programming in the 20th and 21st centuries. It is an introduction to the fundamental principles of computer science and programming techniques for creative artists.  and aims to develop skills and understand programming based on procedural style and the application of programming skills in art. For this purpose, the language and programming environment Processing (https://processing.org/) is used, an environment developed by artists, for artists.

Upon successful completion of the courses, students will be able to:

  • understand the fundamentals of computer programming

  • create digital artworks by developing code

  • combine basic shapes and geometric patterns on the computer

  • use transformations and symmetries in visual and musical compositions

  • introduce movement and interactivity into their works

  • Draw with simple mathematical models and objects

COURSE CONTENT

🔵 🔴 🟡 Theory (1 hour)

  1. Introduction  

  2. Programming and Art 

  3. Algorithms, Programs, and Execution Flow

  4. The Programming Environment and Language and Processing Environment 

  5. Digital Design I- Image and Visual Perception 

  6.  Digital Design II- Color

  7. Digital Design III - Typography-Text

  8. Variables and Functions

  9. Random Values - Randomness 

  10. Repetition (bronchi) 

  11. Conditions and Controls 

  12. Examples from interactive, algorithmic art and applications in performing/digital arts (live-coding, net-art, data-art, AI art) 

  13. The project-program

🔵 🔴 🟡 Workshop (2 hours)

  1. Introduction  

  2. Programming and Art 

  3. Algorithms, Programs, and Execution Flow

  4. The Programming Environment and Language and Processing Environment 

  5. Digital Design I- Image and Visual Perception 

  6.  Digital Design II- Color

  7. Digital Design III - Typography-Text

  8. Variables and Functions

  9. Random Values - Randomness 

  10. Repetition (bronchi) 

  11. Conditions and Controls 

  12. Examples from interactive, algorithmic art and applications in performing/digital arts (live-coding, net-art, data-art, AI art) 

  13. The project-program

EVALUATION

Review language: Greek

🔵 🔴 🟡 Evaluation method:

  • FINAL EXAM (50%)

  • INDIVIDUAL WORK (50%)

    Note: A score of 5.0 is required for both the final exam and the assignment. The final score is derived from the average of the grade of the oral examination (at the end of the semester) and the grade of the individual assignment (delivered before the end of the semester).

TEACHING - LEARNING METHODS
  • Face-to-face
  • Use of ICT in teaching
  • Use of ICT when communicating with students.
  • Lectures, laboratory exercise, study and analysis of bibliography, interactive teaching, educational visits, project preparation, writing of papers - assignments

eCLASS COURSE

https://eclass.uop.gr/courses/565/

RECOMMENDED BIBLIOGRAPHY

🔵 🔴 🟡 Course Textbooks [Eudoxus]

  • Vasilakos, A. (2008). Digital Art Forms. Tziolas Publications. 
  • Deligiannis, I. (2007). Interactive Multimedia and Digital Technology in the Arts. Fagotto Publications
  • Liakeas, G. (2007). The Javascript language. Klidarithmos Publications
  • Alepis, E. and Panagiotopoulos, I. (2019) Object-Oriented Java Programming Languages. Varmar Publications

Extra Bibliography

  • Shiffman, D. (2008). Learning Processing: A Beginner’s Guide. Morgan Kaufmann. 
  • Pearson, Matt. Generative Art: A Practical Guide Using Processing. 1st ed. Shelter Island, NY: Manning Publications, 2011.
  • Processing Environment and Programming Language (Java-based) https://processing.org/
  • Interactive Examples by Daniel Schiffman learningprocessing.com
  • Web version of processing (JavaScript bases) p5.js - https://p5js.org/
  • Examples of artifacts with p5js.org openprocessing.org